// 封装todolist的请求
import axios from '../http'


// 添加请求
export function reqAdd(title) {
    return axios.post("/data", {
        title,
        done: false
    })
};

// 删除请求
export function reqDel(id) {
    return axios.delete(`/data/${id}`)
}

// 单个勾选
export function reqSingle(id, done) {
    return axios.patch(`/data/${id}`, { done });
}

// 底部全选
export function reqButtonAll(data, bol) {

    // 遍历之后单个发请求更改
    let promises = data.map(item => {
        return axios.patch(`/data/${item.id}`, { done: bol });  // 多次请求有bug
    });
    return Promise.all(promises);
}


// 清除已完成
export function reqClearDone(data) {
    // 首先找到需要删除的数据然后以此发请求
    let promises = data.filter(item => item.done).map(itm => {
        // console.log(itm);
        return axios.delete(`/data/${itm.id}`);
    })
    return Promise.all(promises);
}

// 请求并渲染数据
export function reqGet() {
    return axios.get('/data');
}

